package com.ruicar.afs.cloud.afscase.approvetask.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ruicar.afs.cloud.afscase.approvetask.condition.WorkTaskPoolCondition;
import com.ruicar.afs.cloud.afscase.approvetask.entity.WorkTaskPoolHistory;
import com.ruicar.afs.cloud.afscase.approvetask.vo.ApproveTaskVo;
import com.ruicar.afs.cloud.afscase.approvetask.vo.TaskHistoryContent;
import com.ruicar.afs.cloud.afscase.approvetask.vo.TaskHistoryVO;
import com.ruicar.afs.cloud.afscase.infomanagement.entity.CaseBaseInfo;

import java.util.List;

/**
 * @Description 审批任务历史service
 * @Author Peng_Jinbo
 * @Date 2020/06/02 10:52
 */
public interface WorkTaskPoolHistoryService extends IService<WorkTaskPoolHistory> {
    /**
     * @Description 获取信贷分析中历史审批内容
     * @Author Peng_Jinbo
     * @Date 2020/6/6 16:35
     */
    TaskHistoryVO listHistoryContent(String stageId);

    /**
     * 经我处理
     */
    IPage<ApproveTaskVo> queryDealWithTaskList(Page page, WorkTaskPoolCondition workTaskPoolCondition);

    /**
     * <p>description：</p>
     * 撤回校验
     * @param caseBaseInfo 案件基本信息
     * @param stageId 流程实例表ID
     * @param callbackStaff 撤回申请人
     * @return 校验结果：  true:可直接撤回； false：不可直接撤回
     * @Author ma_xueyu
     * @Date 2020年8月30日
     */
    boolean checkCallBackData(CaseBaseInfo caseBaseInfo, String stageId, String callbackStaff);

    /**
     * 查询部长全部的退回意见
     * @param applyNo
     * @param stageId
     * @param currentNodeId
     * @return
     */
    List<WorkTaskPoolHistory> queryAllData(String applyNo,String stageId,String currentNodeId);


    List<WorkTaskPoolHistory> findAllData(String applyNo,String stageId,String currentNodeId);
}
